var customerBs = $('#customerBs').text();  //客户返回标识 1商机列表新增商机-->新增客户
var $checkDuplicateTable = $('#checkDuplicate');
$(function () {
    $("#registrationTime").datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    });
    getProvince();
    //customerPoolIdSelectInit();
    $('.tagsinput').tagsinput({
        maxChars : 5
    });
    $('.bootstrap-tagsinput input').attr('maxlength',5);
    $('#moreInfo').on('show.bs.collapse', function () {
        $('#btnCollapse').html('点击收起 <i class="mdi mdi-chevron-double-up"></i>');
    }).on('hide.bs.collapse', function () {
        $('#btnCollapse').html('补充更多信息 <i class="mdi mdi-chevron-double-down"></i>');
    });
    $('#poolType').selectpicker();
    $('#poolType1').selectpicker();

    //上传图片
    uploadImg();
});
// 渲染省市列表
function getProvince() {
    let provinceNames = ['<option value="init">--请选择--</option>'];
    $.each(cityJson[0], function(key, value){
        provinceNames.push('<option value="' + key + '">' + value + '</option>')
    });
    $('#province').html(provinceNames.join(''));
    getCity($('#province').val());
}
// 根据省获取市
function getCity(provinceId) {
    $('#city').html('');
    let key = '0,'+provinceId;
    let cityNames = ['<option value="init">--请选择--</option>'];
    if(provinceId != 'init'){
        $.each(cityJson[key], function(key, value){
            cityNames.push('<option value="' + key + '">' + value + '</option>')
        });
    }
    $('#city').html(cityNames.join(''));
    getOrangin($('#province').val(), $('#city').val());
}
// '切换省'
function changeProvince() {
    getCity($('#province').val());
    getOrangin($('#province').val(), $('#city').val());
}

// 获取区
function getOrangin(provinceId, cityId) {
    $('#county').html('');
    let key = '0,'+provinceId+ ',' + cityId;
    let oranginNames = ['<option value="init">--请选择--</option>'];
    if(provinceId != 'init' && cityId != 'init'){
        $.each(cityJson[key], function(key, value){
            oranginNames.push('<option value="' + key + '">' + value + '</option>')
        });
    }
    $('#county').html(oranginNames.join(''));
}

// 切换城市
function changeCity() {
    getOrangin($('#province').val(), $("#city").val());
}

function addCustomer(){
    var customerName = $.trim($('#customerName').val()); //客户名称
    if(!customerName){
        $.alert("请输入客户名称!");
        return;
    }

    var unifiedSocialCreditCode = $.trim($('#unifiedSocialCreditCode').val()); //统一社会信用代码
    if(!unifiedSocialCreditCode){
        $.alert("请输入统一社会信用代码!");
        return;
    }

    var customerType = '0'; //客户类型
    var customerLevel = $('#customerLevel').val(); //客户级别

    var provinceCode = $('#province').val();
    var provinceName = $('#province').find("option:selected").text();
    if (provinceCode == 'init'){//init为请选择，为init时置为空
        provinceCode = '';
        provinceName = ''
    }

    var cityCode= $('#city').val();
    var cityName= $("#city").find("option:selected").text();
    if (cityCode == 'init'){//init为请选择，为init时置为空
        cityCode = '';
        cityName = ''
    }

    var countyCode = $('#county').val();
    var countyName = $('#county').find("option:selected").text();
    if (countyCode == 'init'){//init为请选择，为init时置为空
        countyCode = '';
        countyName = ''
    }

    var detailedAddress = $.trim($('#detailedAddress').val()); //详细地址
    var enterpriseExternalPhone = $.trim($('#enterpriseExternalPhone').val()); //企业对外手机
    var enterpriseExternalLandline = $.trim($('#enterpriseExternalLandline').val()); //企业对外座机
    var companyWebsite = $.trim($('#companyWebsite').val()); //公司网址
    var companySize = $('#companySize').val(); //公司规模
    var registrationNumber = $.trim($('#registrationNumber').val()); //注册号
    var organizationCode = $.trim($('#organizationCode').val()); //组织机构代码
    var companyType = $('#companyType').val(); //公司类型
    var legalRepresentative = $.trim($('#legalRepresentative').val()); //法定代表人
    var registeredCapital = $.trim($('#registeredCapital').val()); //注册资本
    var registrationTime = $('#registrationTime').val(); //注册时间
    var businessScope = $.trim($('#businessScope').val()); //经营范围
    var enterpriseState = $('#enterpriseState').val(); //企业状态
    var capitalType = $('#capitalType').val(); //资本类型
    var insuredNumber = $.trim($('#insuredNumber').val()); //参保人数
    // var fax = $.trim($('#fax').val()); //传真
    var email = $.trim($('#email').val()); //邮箱
    var remark = $.trim($('#remark').val()); //备注
    //var ownerId = $.trim($('#ownerId').val()); //所有人id
    var customerSource = $('#customerSource').val(); //客户来源
    //var customerState = $('#customerState').val(); //客户状态
    var industry = $('#industry').val(); //行业
    var tagStr = $('.tagsinput').val().split(' ').join(',');
    var tagStrNew = tagStr.substring(0, tagStr.lastIndexOf(','))+ tagStr.substring(tagStr.lastIndexOf(',')+1);
    //客户池标签
    var tag =tagStrNew; //客户标签
    var dealStatus = $.trim($('#dealStatus').val()); //成交状态
    var imageId = $('#imageId').text(); //图片id
    //var companyName =$.trim($('#companyName').val()); //所属公司
    var currentStatus = 0;//目前状态---0: 未领取; 1: 已领取(我领取的客户);2: 已分配(分配给我的客户);3: 自建客户(用户模块我自建的客户);
    var financialNumber = $.trim($('#financialNumber').val()); //新增财务人数字段

    var contactPerson = $.trim($('#contactPerson').val()); //联系人
    var contactPersonPhone = $.trim($('#contactPersonPhone').val()); //联系人电话


    //客户名称为空判断
    if (customerName.length > 40) {
        $.alert("客户名称长度不能大于40个字！");
        return;
    }
    if (customerType.length > 40) {
        $.alert("客户类型长度不能大于40个字！");
        return;
    }

    //统一社会信用代码为空判断
    if (!unifiedSocialCreditCode) {
        $.alert("统一社会信用代码不能为空!");
        return;
    } else if (unifiedSocialCreditCode.length < 15 || unifiedSocialCreditCode.length > 20) {
        $.alert("统一社会信用代码长度在15-20位以内！");
        return;
    }
   if (detailedAddress.length > 255) {
        $.alert("详细地址长度不能大于255个字！");
        return;
    }
    if (registeredCapital.length > 30) {
        $.alert("注册资本长度不能大于30个字！");
        return;
    }
    if (eval(insuredNumber) > eval("2147483647")) {
        $.alert("参保人数值太大！");
        return;
    }
    //邮箱为空判断
    let reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    if(email){
        if (!reg.test(email)) {
            $.alert("请输入正确的邮箱格式！");
            return;
        } else if (email.length > 25) {
            $.alert("邮箱长度不能大于25个字！");
            return;
        }
    }

    //标签为空判断
    if (tag.length > 65535) {
        $.alert("标签长度不能大于65535个字！");
        return;
    }
    //企业对外手机
    if(enterpriseExternalPhone){
        let phoneReg = /^1[3|4|5|7|8][0-9]{9}$/;
        if (!phoneReg.test(enterpriseExternalPhone)) {
            $.alert("企业对外手机号不存在！");
            return;
        } else if (enterpriseExternalPhone.length > 20) {
            $.alert("企业对外手机长度不能大于20个字！");
            return;
        }
    }

    //企业对外座机
    if (enterpriseExternalLandline.length > 20) {
        $.alert("企业对外座机长度不能大于20个字！");
        return;
    }

    //公司网址
    if (companyWebsite.length > 255) {
        $.alert("公司网址长度不能大于255个字！");
        return;
    }

    //注册号
    if (registrationNumber.length > 50) {
        $.alert("注册号长度不能大于50个字！");
        return;
    }

    //组织机构代码
    if (organizationCode.length > 30) {
        $.alert("组织机构代码长度不能大于30个字！");
        return;
    }

    //法定代表人
    if (legalRepresentative.length > 255) {
        $.alert("法定代表人长度不能大于255个字！");
        return;
    }

    //经营范围
    if (businessScope.length > 65535) {
        $.alert("经营范围长度不能大于65535个字！");
        return;
    }

    //成交状态
    if (dealStatus.length > 50) {
        $.alert("成交状态长度不能大于50个字！");
        return;
    }

    //备注
    if (remark.length > 65535) {
        $.alert("备注长度不能大于65535个字！");
        return;
    }
    var jsonData = {
        customerName: customerName,  //客户名称
        customerType : customerType, //客户类型
        customerLevel : customerLevel, //客户级别
        unifiedSocialCreditCode : unifiedSocialCreditCode, //统一社会信用代码
        provinceCode : provinceCode,
        provinceName : provinceName,
        cityCode: cityCode,
        cityName: cityName,
        countyCode : countyCode,
        countyName : countyName,
        detailedAddress : detailedAddress, //详细地址
        enterpriseExternalPhone : enterpriseExternalPhone, //企业对外手机
        enterpriseExternalLandline : enterpriseExternalLandline, //企业对外座机
        companyWebsite : companyWebsite, //公司网址
        companySize : companySize, //公司规模
        registrationNumber : registrationNumber, //注册号
        organizationCode : organizationCode, //组织机构代码
        companyType : companyType, //公司类型
        legalRepresentative : legalRepresentative, //法定代表人
        registeredCapital : registeredCapital, //注册资本
        registrationTime : registrationTime, //注册时间
        businessScope : businessScope, //经营范围
        enterpriseState : enterpriseState, //企业状态
        capitalType : capitalType, //资本类型
        insuredNumber : insuredNumber, //参保人数
        email : email, //邮箱
        remark : remark, //备注
        customerSource : customerSource, //客户来源
        industry : industry, //行业
        tag : tag, //标签
        dealStatus : dealStatus, //成交状态
        uploadId :imageId,
        currentStatus:currentStatus,
        financialNumber : financialNumber, //新增财务人数字段

        contactPerson : contactPerson, //联系人
        contactPersonPhone : contactPersonPhone //联系人电话
    };

    $.ajax({
        url: '/internalTrainingManager/addCustomer',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if (data.code == "C00000") {
                $.alert({
                    title: '提示',
                    content: '保存成功！',
                    buttons: {
                        confirm: {
                            text: '确认',
                            btnClass: 'btn-primary',
                            action: function () {
                                var $thisTabs = parent.$('.mt-nav-bar .nav-tabs').find('li.active');
                                var navTab = parent.$multitabs._getNavTab($thisTabs);
                                closeTab(navTab);

                                openTab("我的客户池","/front/internalTrainingManager/myClientPool");
                                // 提交完表单，重新加载相关table列表页面
                                refreshActivePane('/front/internalTrainingManager/myClientPool');
                                delStorageAndRemove(navTab);
                            }
                        }
                    }
                });
            } else if (data.code == "C00001") {
                $.alert("超出客户池容量！");
            } else if (data.code == "C00002") {
                $.alert("客户名称或统一社会信用代码已存在！");
            } else if (data.code == "C00404") {
                $.alert("输入的社会信用代码不正确！");//查redis
            } else if (data.code == "C00201") {
                $.alert("输入的企业信息有误，请核实！");//企查查核验接口
            } else if (data.code == "C00003") {
                $.alert("您所属公司对应的全国公有池不存在，请联系管理员！");
            } else if (data.code == "C00004") {
                $.alert("超出客户容量！");
            } else if (data.code == "C00005") {
                $.alert("客户名称已关联客户！");
            } else if (data.code == "NX0001") {
                $.alert("客户领取时出错，请重试！");
            } else {
                $.alert("保存失败！");
            }
        }),
        error: (function () {
            $.alert("保存异常！");
        })
    });
}

function getCustomerPicUpload(ele) {
    //文件选择
    var formData = new FormData();
    //获取选择文件个数
    var files = document.getElementById("files").files;
    console.log(files);
    if (files.length == 0) {
    } else {
        var path = files[0].name;
        var suffix = path.substr(path.lastIndexOf('.'));
        var lowerSuffic = suffix.toLowerCase()
        if(lowerSuffic === '.jpg' || lowerSuffic === '.png' || lowerSuffic === '.gif'){
            //选择文件，上传选择文件
            for (let i = 0; i < files.length; i++) {
                formData.append('files', $(ele)[0].files[i]);
            }
            $.ajax({
                url: '/file/upload',
                type: 'POST',
                dataType: "json",
                contentType: false,
                data: formData,
                processData: false,
                success: (function (data) {
                    if (data.code == "000000") {
                        //进行照片回显
                        var files = new Array();
                        files = data.data;
                        $("#customerPic").attr('src',files[0].accessUrl);
                        $("#imageId").html(files[0].uploadId);
                    }
                }),
                error: (function (res) {
                    alert("失败");
                })
            });
        }else{
            alert('上传图片格式不正确');
        }
    }
}

function cancelAddCustomer(){
    window.location.reload();
}

/**
 * 查重
 */
function checkDuplicate() {
    $('#checkContent').val('')
    $('#prompt').css('display', 'none')
    $checkDuplicateTable.bootstrapTable('destroy');
    $('#staticBackdrop').modal('show')
}
function changeContent() {
    if ($('#checkContent').val() == '') {
        $('#prompt').css('display', 'block')
    } else {
        $('#prompt').css('display', 'none')
    }
}

function checkDuplicateBtn() {
    if ($('#checkContent').val() == '') {
        $('#prompt').css('display', 'block')
    } else {
        $('#prompt').css('display', 'none')
        checkDuplicateInit()
    }
}
//查重表单
function checkDuplicateInit() {

    $checkDuplicateTable.bootstrapTable('destroy');
    $checkDuplicateTable.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/fastQueryRepeat',//请求地址
        method: 'get',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: false,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        // sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'formId',
        idField: 'formId',
        // pageSize: 10,//每页的记录行数
        // pageNumber: 1,//初始化加载第1页，默认第1页
        // pageList: "[5, 10, 15, 20]",//可供选择的每页的行数
        fixedColumns: true,     // 冻结列
        fixedNumber: 4,         // 左侧固定列
        queryParams: {
            type: $('#poolType').val(),
            isVip: $('#poolType1').val(),
            checkContent: $('#checkContent').val(),
        },//查询参数
        columns: [
            {title: '主键', field: 'formId', visible: false},
            {title: '联系人id', field: 'contactPersonId', visible: false},
            {title: '客户名称', field: 'name', align: 'left', valign: 'middle',},
            {title: '会员', field: 'isVip', align: 'left', valign: 'middle'},
            {title: '所在位置', field: 'place', align: 'left', valign: 'middle'},
            {title: '公海', field: 'poolName', align: 'left', valign: 'middle'},
            {title: '所有人', field: 'userName', align: 'left', valign: 'middle'},
            {title: '状态', field: 'state', align: 'left', valign: 'middle'},
            {title: '曾用名/关联', field: 'relationName', align: 'left', valign: 'middle'},
        ],
        // data:[{index:'1'}],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方

        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    })


}

//企查查导入
function importBtn(){
    var customerName = $.trim($('#customerName').val()); //客户名称
    if(customerName == ''){
        $.alert('客户名称不能为空')
    }else{
        $.ajax({
            type: 'GET',
            url: '/customer/qccImport',
            dataType: "json",
            // contentType: "application/json;charset=utf-8",
            data: {
                customerName :$.trim($('#customerName').val())
            },
            success: function (result) {
                if(result.code == '000000'){
                    var data =  JSON.parse(result.data);
                    inputEcho(data)

                }
            },
            error: function(){
                alert('请求失败')
            }
        });
    }
}

//企查查网址查询
function sure(){
    var CheckDuplicateInput = $.trim($('#CheckDuplicateInput').val()); //客户名称
    if(CheckDuplicateInput == ''){
        $.alert('网址不能为空')
    }else{
        $.ajax({
            type: 'GET',
            url: '/customer/qccByWebsite',
            dataType: "json",
            // contentType: "application/json;charset=utf-8",
            data: {
                website :$.trim($('#CheckDuplicateInput').val())
            },
            success: function (result) {
                if(result.code == '000000'){
                    var data =  JSON.parse(result.data);
                    inputEcho(data)
                    $('#urlCheckDuplicate').modal('hide')
                }
            },
            error: function(){
                alert('请求失败')
            }
        });
    }
}

function cancel(){
    $('#urlCheckDuplicate').modal('hide')
    $('#CheckDuplicateInput').val('')
}


function inputEcho(data){
    $('#customerName').val('')
    $('#insuredNumber').val('')
    $('#registeredCapital').val('')
    $('#legalRepresentative').val('')
    $('#unifiedSocialCreditCode').val('')
    $('#registrationTime').val('')
    $('#detailedAddress').val('')
    $('#companySize').val('')
    $('#organizationCode').val('')
    $('#companyType').val('')
    $('#enterpriseState').val('')
    $('#industry').val('')
    $('#registrationNumber').val('')
    $('#capitalType').val('')

    $('#customerName').val(data.单位名称)
    $('#insuredNumber').val(data.参保人数)
    $('#registeredCapital').val(data.注册资本)
    $('#legalRepresentative').val(data.法定代表人)
    $('#unifiedSocialCreditCode').val(data.统一社会信用代码)
    $('#registrationTime').val(data.核准日期)
    $('#detailedAddress').val(data.注册地址)
    $('#companySize').val(data.人员规模)
    $('#organizationCode').val(data.组织机构代码)
    $('#companyType').val(data.企业类型)
    $('#enterpriseState').val(data.登记状态)
    $('#industry').val(data.所属行业)
    $('#registrationNumber').val(data.注册号)
    let arr = [
        {value:1,name:'人民币'},
        {value:2,name:'美元'}
    ]
    if(data.注册资本 != ''){
        var key = data.注册资本.substring(data.注册资本.length-2);
    }else{
        $('#capitalType').val(data.注册资本)
    }
    var value  = fuzzyQuery(arr,key)
    $('#capitalType').val(value)
    let arr1 = [
        {value:1,name:'在业'},
        {value:2,name:'续存'},
        {value:3,name:'吊销'},
        {value:4,name:'注销'},
        {value:5,name:'迁出'},
        {value:6,name:'筹建'},
        {value:7,name:'清算'},
        {value:8,name:'迁入'},
        {value:9,name:'停业'},
        {value:10,name:'撤销'},
        {value:11,name:'在业/存续'},
    ]
    var enterpriseStateName = data.营业状态;
    var enterpriseStateValue  = fuzzyQuery(arr1,enterpriseStateName)
    $('#enterpriseState').val(enterpriseStateValue)
}

function enterpriseState(data) {
    if(data.登记状态 == '在业'){
        return 1
    }else if(data.登记状态 == '续存'){
        return 1
    }
}

/**
 *  @param {Array} list 进行查询的数组
 * @param [string)keyword 查询的关键词
 * @return {Array} 查询的结果
 */
function fuzzyQuery(list, keyWord) {
    var arr;
    for (var i = 0; i < list.length; i++) {
        if (list[i].name.indexOf(keyWord) >= 0) {
            arr = list[i].value;
        }
    }
    return arr;
}


function cancelAddCustomer(){
    window.location.reload();
}

// 上传图片
function uploadImg() {
    $(document).on('click', '.file-browser', function () {
        var file = $(this).closest('.file-group').find('[type="file"]');
        file.on('click', function (e) {
            e.stopPropagation();
        });
        file.trigger('click');
    });

    $(document).on('change', '.file-group [type="file"]', function () {
        var $this = $(this);
        var $input = $(this)[0];
        var $len = $input.files.length;
        //var formFile = new FormData();
        if ($len == 0) {
            $input.nextElementSibling.value = '';
            $input.nextElementSibling.nextElementSibling.innerHTML = '';
            return;
        } else {
            var fileAccaccept = $this.attr('accaccept');
            var fileType = $input.files[0].type;
            var type = (fileType.substr(fileType.lastIndexOf("/") + 1)).toLowerCase();

            if (!type || fileAccaccept.indexOf(type) == -1) {
                lightyear.notify('您上传图片的类型不符合(' + fileAccaccept + ')', 'danger', 1500);
                $input.value = '';
                if ($input.nextElementSibling.value == '') {
                    $input.nextElementSibling.nextElementSibling.innerHTML = '';
                }
                return;
            } else {
                $input.nextElementSibling.value = '';
                var str = "<img src='" + getObjectURL(document.getElementById("customerPic1").files[0]) + "'/>";
                //将图片动态添加到图片展示区
                document.getElementById("customerImgBox").innerHTML = str;
            }
        }
    });
}

//获取图片路径方法
function getObjectURL(file) {
    var url = null ;
    if (window.createObjectURL!=undefined) { // basic
        url = window.createObjectURL(file) ;
    } else if (window.URL!=undefined) { // mozilla(firefox)
        url = window.URL.createObjectURL(file) ;
    } else if (window.webkitURL!=undefined) { // webkit or chrome
        url = window.webkitURL.createObjectURL(file) ;
    }
    return url ;
}
